This invention generally relates to multi-user systems for managing databases, and more particularly, to such systems having locking protocols.
Locking protocols are employed in multi-user environments to control access to shared data objects. To elaborate, a multi-user database managing system may include a file access processor and a plurality of application support processors. The file access processor provides access to a database, and the application support processors are connected to the file access processor to transmit inquires to and to receive responses from the file access processor. For example, a user at a support processor may add data to, delete data from, or change data in records or files stored in the database. Often, several users at different support processors may concurrently access the same data in the database --a condition referred to as concurrency. Under such circumstances, it is usually desirable to control access to the data items so that, for example, one user does not change data items being studied by a second user. Locking protocols have been developed to control such user access.
Prior art locking protocols are usually invoked automatically by a file access processor in response to receiving data processing requests from users at support processors. Under normal operating conditions, these locking protocols cannot be expressly manipulated by a user at a support processor, and in fact, such a user may not even be aware of the existence of the locking protocols. Moreover, these prior art locking protocols are normally automatically terminated by the file access processor after the complete processing of a work unit, which is conventionally defined as a group of logically related data processing requests from a particular application support processor. Thus, these prior art locking protocols do not allow the locks, which are placed on data objects during a particular work unit, to be maintained on the data objects after the completion of that particular work unit.